// kernel/vma.h
#ifndef VMA_H
#define VMA_H

#include "types.h"
#include "file.h"
#include "fs.h"

#define NVMAS       16
#define MAP_SHARED  1
#define MAP_PRIVATE 2

struct vma {
  uint64 addr;       // 起始虚拟地址
  uint64 length;     // 映射长度
  int prot;          // 保护标志
  int flags;         // 映射标志
  struct file *f;    // 关联的文件
  uint64 offset;     // 文件偏移
  int used;          // 是否在用
};

#endif

